home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / etc / udev / rules.d / 75-persistent-net-generator.rules < prev    next >
Text File  |  2008-10-24  |  2KB  |  64 lines

  1. # do not edit this file, it will be overwritten on update
  2.  
  3. # these rules generate rules for persistent network device naming
  4. #
  5. # variables used to communicate:
  6. #   MATCHADDR             MAC address used for the match
  7. #   MATCHID               bus_id used for the match
  8. #   MATCHDRV              driver name used for the match
  9. #   MATCHIFTYPE           interface type match
  10. #   COMMENT               comment to add to the generated rule
  11. #   INTERFACE_NAME        requested name supplied by external tool
  12. #   INTERFACE_NEW         new interface name returned by rule writer
  13.  
  14. ACTION!="add", GOTO="persistent_net_generator_end"
  15. SUBSYSTEM!="net", GOTO="persistent_net_generator_end"
  16.  
  17. # ignore the interface if a name has already been set
  18. NAME=="?*", GOTO="persistent_net_generator_end"
  19.  
  20. # device name whitelist
  21. KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end"
  22.  
  23. # ignore Xen virtual interfaces
  24. SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end"
  25.  
  26. # read MAC address
  27. ENV{MATCHADDR}="$attr{address}"
  28.  
  29. # match interface type
  30. ENV{MATCHIFTYPE}="$attr{type}"
  31.  
  32. # do not use "locally administered" MAC address
  33. ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
  34.  
  35. # do not use empty address
  36. ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}=""
  37.  
  38. # build comment line for generated rule:
  39. SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device $attr{vendor}:$attr{device} ($driver)"
  40. SUBSYSTEMS=="usb", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} ($driver)"
  41. SUBSYSTEMS=="pcmcia", ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id} ($driver)"
  42. SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})"
  43.  
  44. # ibmveth likes to use "locally administered" MAC addresses
  45. DRIVERS=="ibmveth", ENV{MATCHADDR}="$attr{address}", ENV{COMMENT}="ibmveth ($id)"
  46.  
  47. # S/390 uses id matches only, do not use MAC address match
  48. SUBSYSTEMS=="ccwgroup", ENV{COMMENT}="S/390 $driver device at $id", ENV{MATCHID}="$id", ENV{MATCHDRV}="$driver", ENV{MATCHADDR}=""
  49.  
  50. # see if we got enough data to create a rule
  51. ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", GOTO="persistent_net_generator_end"
  52.  
  53. # default comment
  54. ENV{COMMENT}=="", ENV{COMMENT}="net device ($attr{driver})"
  55.  
  56. # write rule
  57. DRIVERS=="?*", IMPORT{program}="write_net_rules"
  58.  
  59. # rename interface if needed
  60. ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
  61.  
  62. LABEL="persistent_net_generator_end"
  63.  
  64.